home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / TUTOROOT.PAK / MAKEFILE < prev    next >
Text File  |  1997-05-06  |  4KB  |  123 lines

  1. #-----------------------------------------------------------------------------
  2. # ObjectWindows - (C) Copyright 1994 by Borland International
  3. #   Tutorial application -- makefile.
  4. #
  5. # The following models may be built by defines on command line or environment:
  6. #   16-bit OWL DLL model: make          (MODEL=d, SYSTEM=WIN16 are defaults)
  7. #   16-bit large model:   make MODEL=l  (SYSTEM=WIN16 is the default)
  8. #   32-bit static model:  make SYSTEM=WIN32 MODEL=f
  9. #   32-bit OWL DLL model: make SYSTEM=WIN32 MODEL=d
  10. # Additionally set DEBUG=1 to build with debug information
  11. # Specify TARGET=step??.exe to build only one target, rather than all samples
  12. # Specify DOCVIEW=?????.obj to add more doc/view classes (must delete *.mak)
  13. #           (requires .cpp file with template(s) and .rc file with resources)
  14. #
  15. #-----------------------------------------------------------------------------
  16. MODELS=ldf                          # Allowable models
  17.  
  18. #
  19. # Build EXE(s)
  20. #
  21. EXERES = sampexe
  22. EXEALL = step01.exe step02.exe step03.exe step04.exe step05.exe step06.exe\
  23.          step07.exe step08.exe step09.exe step10.exe step11.exe step12.exe\
  24.          step13.exe step14.exe step15.exe step16.exe step17.exe step18.exe
  25. EXEMAKE= $(STEP1) $(STEP2) $(STEP3) $(STEP4)  $(STEP5)  $(STEP6)\
  26.          $(STEP7) $(STEP8) $(STEP9) $(STEP10) $(STEP11) $(STEP12)\
  27.          $(STEP13) $(STEP14) $(STEP15) $(STEP16) $(CNTRL16) \
  28.          $(STEP17) $(CNTRL17) $(STEP18) $(CNTRL18)
  29.  
  30.  
  31. NORES = $(EXERULE:sampexe.res=)
  32. STEP1 = $(NORES:sampexe=step01)
  33. STEP2 = $(NORES:sampexe=step02)
  34. STEP3 = $(NORES:sampexe=step03)
  35. STEP4 = $(NORES:sampexe=step04)
  36. STEP5 = $(EXERULE:sampexe=step05)
  37. STEP6 = $(STEP5:step05=step06)
  38. STEP7 = $(STEP5:step05=step07)
  39. STEP8 = $(STEP5:step05=step08)
  40. STEP9 = $(STEP5:step05=step09)
  41. STEP10= $(STEP5:step05=step10)
  42. STEP11= $(STEP5:step05=step11)
  43. STEPV=  $(EXERULE:sampexe.obj=sampexe.obj sampexedv.obj $(DOCVIEW))
  44. STEPW = $(STEPV:sampexe.res=sampexe.res sampexedv.res $(DOCVIEW:.obj=.res))
  45. STEP12= $(STEPW:sampexe=step12)
  46. STEP13= $(STEPW:sampexe=step13)
  47. STEP14= $(STEPW:sampexe=step14)
  48. STEP15= $(STEPW:sampexe=step15)
  49. STEP16= $(STEPW:sampexe=step16)
  50. CNTRL16= $(STEP1:step01=cntrl16)
  51. STEP17= $(STEPW:sampexe=step17)
  52. CNTRL17= $(STEP1:step01=cntrl17)
  53. STEP18= $(STEPW:sampexe=step18)
  54. CNTRL18= $(STEP1:step01=cntrl18)
  55.  
  56. RULES = ^
  57. step16.obj: cntrl16.exe^
  58. step17.obj: cntrl17.exe^
  59. step18.obj: cntrl18.exe
  60.  
  61.  
  62. #
  63. # Build DLL Server(s)
  64. #
  65. DLL    = sampdll
  66. OBJDLL = sampdllu.obj sampdlldu.obj
  67. RESDLL = sampdll.res sampdlldv.res
  68.  
  69. STEP15U = $(DLLRULE:sampdll=step15) ^
  70. step15u.obj : step15.cpp ^
  71.   $(BCC) -ostep15u.obj step15.cpp ^
  72. step15du.obj : step15dv.cpp ^
  73.   $(BCC) -ostep15du.obj step15dv.cpp ^
  74.  
  75. STEP16U = $(STEP15U:step15=step16)
  76. STEP17U = $(STEP15U:step15=step17)
  77. STEP18U = $(STEP15U:step15=step18)
  78.  
  79. #
  80. # Typically DLLs are built before EXEs - However, this does not have
  81. # to be the case for these samples since non of the EXEs depend on
  82. # the DLLs. Hence, if no TARGET is specified, we build the DLLs last
  83. # using MAKEFILE.GEN's TARGETS macro. This allows a more logical
  84. # build order [step01, step02, step03,...]
  85. #
  86. !if !$d(TARGET)
  87. TARGETS= cfgdllsrvr step15.dll step16.dll step17.dll step18.dll makcln
  88. RULES  = $(RULES) $(STEP15U) $(STEP16U) $(STEP17U) $(STEP18U)^
  89.  ^
  90. cfgdllsrvr: ^
  91.   @copy &&| ^
  92. -I$(INCLUDEPATH) ^
  93. -c $(CFLAGSD)    ^
  94. -w $(CDIAG) $(CPCHD) $(CCFDLL) ^
  95. | $(CFGFILE) >NUL ^
  96.  ^
  97. makcln: ^
  98.   @del $(MAKEFILE)
  99.  
  100. #
  101. # Prevent MAKEFILE.GEN from building DLL Servers via DLLALL/DLLMAKE
  102. #
  103. DLLALL =
  104. DLLMAKE=
  105.  
  106.  
  107. !else
  108.  
  109. #
  110. # A TARGET was specified
  111. #
  112. DLLALL = step15.dll step16.dll step17.dll step18.dll
  113. DLLMAKE= $(STEP15U) $(STEP16U) $(STEP17U) $(STEP18U)
  114.  
  115. TARGETS= makcln
  116. RULES  = $(RULES) ^
  117.  ^
  118. makcln: ^
  119.   @del $(MAKEFILE)
  120. !endif
  121.  
  122. !include $(BCEXAMPLEDIR)\owlocfmk.gen
  123.